package com.shrct.businessprocess.purchase;

import com.shrct.businessprocess.product.RCProductMetaType;
import com.shrct.businessprocess.project.RCProjectMoney;
import com.shrct.businessprocess.purchase.RCBaseProductPurchaseBudget;
import com.shrct.businessprocess.purchase.impl.RCNormalProductPurchaseBudgetImpl;
import com.shrct.businessprocess.purchase.proxy.RCNormalProductPurchaseBudgetProxy;
import edu.fudan.mylang.pf.EntityImplementation;

@EntityImplementation(implementBy = RCNormalProductPurchaseBudgetImpl.class)
public interface RCNormalProductPurchaseBudget extends RCBaseProductPurchaseBudget {
  public abstract RCProjectMoney getContractPrice();
  
  public abstract RCNormalProductPurchaseBudget setContractPrice(final RCProjectMoney contractPrice);
  
  public abstract Double getContractTaxRate();
  
  public abstract RCNormalProductPurchaseBudget setContractTaxRate(final Double contractTaxRate);
  
  public abstract RCProjectMoney getNetPrice();
  
  public abstract RCNormalProductPurchaseBudget setNetPrice(final RCProjectMoney netPrice);
  
  public abstract Double getNetTaxRate();
  
  public abstract RCNormalProductPurchaseBudget setNetTaxRate(final Double netTaxRate);
  
  public abstract String getName();
  
  public abstract RCNormalProductPurchaseBudget setName(final String name);
  
  public abstract String getTypeId();
  
  public abstract RCProductMetaType getProductMetaType();
  
  public abstract RCNormalProductPurchaseBudgetProxy toProxy();
}
